引言
Day2以後就是正式的內容了~
這次的主題是以「文字取代像素」為主,無論是現在的電腦還是手機等,每個邊的像素都是以千為單位計算的。而這30天所要進行的方向與此相反,我們要以甚至不能稱為像素的文字,一文字一點的方式設計出極簡易3D引擎,因此成品將會看到每個點、每條線都是以文字組成的!
會這麼做的原因是,作者也是鮮少看過這種嘗試,感覺挺有趣且新奇。而且這種3D引擎幾乎不需要其他繪圖api,只要有可以操控cmd與鍵盤控制的
<windows.h>
標頭檔就可以做到調整cmd視窗以及鍵盤操控等較偏向作業系統的操作。其他與3D成像有關的操作都是可以使用一般常見的函式庫完成~
也因為會使用到windows.h標頭檔,這次的程式只能在windows系統執行哦!
而在此也先告知各位讀者,這次的主題會需要基本的C語言基礎,因為我們就是要以C語言達成這次的作品哦~ 不過之後會使用到的一些資料結構也會稍微介紹,不用太擔心。
什麼是Windows Command-Line(cmd)? 以下是維基的介紹:
Windows命令提示字元(cmd.exe)是Windows NT下的一個用於執行Windows控制台程式或某些DOS程式的殼層程式。
命令提示字元為使用者提供了一個命令列介面,該功能通過Win32控制台實現。使用者可通過命令列執行程式和批次檔,從而進行系統管理等。來源:https://zh.wikipedia.org/wiki/%E5%91%BD%E4%BB%A4%E6%8F%90%E7%A4%BA%E5%AD%97%E5%85%83
其中「殼層」(shell)又是甚麼呢?一樣引用維基百科的介紹:
殼層(英語:Shell)在電腦科學中指「為使用者提供使用者介面」的軟體。
簡單來說,cmd其實是用在供使用者執行程式、輸入命令或使用批次檔進行系統管理的使用者介面。
如果覺得這段解釋還是太複雜,只要記得它大概是用來執行一些電腦命令的程式就好~
值得一提的是,這個介面是全文字的,也就是它顯示出來的指令、執行結果等都是以文字表示的。這就是為什麼我們要使用cmd來完成這次的計畫了。
對於cmd的介紹差不多就到此,以下來示範一些使用cmd的範例。
按下左下角的放大鏡(搜尋),輸入"cmd",然後按下Enter鍵,就可以開啟cmd。
首先觀察紅圈處原來是什麼,
然後在cmd視窗中鍵入
title xxx
其中xxx可以置換成你想要的標題,在此使用「IT鐵人賽-11th」為例,然後按下Enter鍵。
可以看到紅圈處的標題被置換成剛剛鍵入的文字,原本等待輸入的提示字(在此為C:\Users\USER>)跳出了新的一行等待使用者輸入,因此我們可以不斷地對cmd下指令,完成許多任務。
所謂echo就是執行完指令後,指令會顯示在螢幕上的動作,為了消除下指令後每條指令都顯示的問題,我們先鍵入
@echo off
然後按下Enter。
這個指令可以使輸入完的指令不另外再顯示在螢幕上,防止大量輸入指令時(例如批次檔的使用),一堆指令文字涮地在螢幕跑出來,可以使畫面簡潔。
輸入後可以發現剛剛應該要出現的提示字已經不出現了,光標只是單純換行而已,這時候已經關閉指令的
回顯(echo)了。
當你輸入完一堆指令後,畫面一定變得很雜,這時cls指令(clear screen)就可以派上用場啦,我們鍵入
cls
然後按下Enter。
cls指令會幫助你把cmd的整個畫面清空,乾乾淨淨、毫無疑慮~
現在整個畫面終於變成一片黑了,這就是我們的目的,之後就要在這片黑中「作畫」~
呼...用了一些篇幅向各位讀者介紹如何簡易使用cmd,這邊教的指令都是之後要用到的,我們之後也會配合C語言來使用這些指令,大家可以稍微有個概念就好,其實這並不是太大的重點啦~